package com.shangxian.giveithome.mapper;

import com.shangxian.giveithome.entity.report.BlackList;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author Administrator
 * 举报持久层
 */
@Mapper
public interface ReportMapper {
    /**
     * 将举报信息存入黑名单表格中
     * @param blackList
     * @return
     */
    int submitReport(BlackList blackList);

    /**
     * 根据手机号查询黑名单信息
     * @param id
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<BlackList> findBlackListByPhone(long id, int pageNumber, int pageSize);

    /**
     * 根据手机号查询黑名单记录数
     * @param id
     * @return
     */
    int findBlackListTotalByPhone(long id);

    /**
     * 根据微信号查询黑名单信息
     * @param wechat
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<BlackList> findBlackListByWechat(String wechat, int pageNumber, int pageSize);

    /**
     * 根据手机号查询黑名单记录数
     * @param wechat
     * @return
     */
    int findBlackListTotalByWechat(String wechat);

    /**
     * 根据黑名单id查询详细信息
     * @param id
     * @return
     */
    BlackList findBlackListDetails(long id);

    /**
     * 查询待审核举报用户的总数
     * @return
     */
    int backFindBlackListUserTotalA();

    /**
     * 查询待审核举报用户的列表
     * @return
     * @param pageNumber
     * @param pageSize
     */
    List<BlackList> backFindBlackListUserA(int pageNumber, int pageSize);

    /**
     * 查询审核封禁的举报用户的总数
     * @return
     */
    int backFindBlackListUserTotalB();

    /**
     * 查询审核封禁的举报用户的列表
     * @return
     * @param pageNumber
     * @param pageSize
     */
    List<BlackList> backFindBlackListUserB(int pageNumber, int pageSize);

    /**
     * 查询审核正常的举报用户的总数
     * @return
     */
    int backFindBlackListUserTotalC();

    /**
     * 查询审核正常举报的用户的列表
     * @return
     * @param pageNumber
     * @param pageSize
     */
    List<BlackList> backFindBlackListUserC(int pageNumber, int pageSize);

    /**
     * 根据被举报用户id查询待审核举报列表总数
     * @param id
     * @return
     */
    int backFindBlackListDetailsListTotalA(long id);

    /**
     * 根据被举报用户id查询举报待审核的记录列表
     * @param id
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<BlackList> backFindBlackListDetailsListA(long id, int pageNumber, int pageSize);

    /**
     * 根据被举报用户id查询审核禁用的举报列表总数
     * @param id
     * @return
     */
    int backFindBlackListDetailsListTotalB(long id);

    /**
     * 根据被举报用户id查询举报审核禁用的记录列表
     * @param id
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<BlackList> backFindBlackListDetailsListB(long id, int pageNumber, int pageSize);

    /**
     * 根据被举报用户id查询审核禁用的举报列表总数
     * @param id
     * @return
     */
    int backFindBlackListDetailsListTotalC(long id);

    /**
     * 根据被举报用户id查询举报审核正常的记录列表
     * @param id
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<BlackList> backFindBlackListDetailsListC(long id, int pageNumber, int pageSize);

    /**
     * 根据id查询被举报用户详细信息
     * @param id
     * @return
     */
    BlackList backFindBlackListUserDetails(long id);

    /**
     * 通过被举报用户id禁用用户
     * @param blackList
     * @return
     */
    int backDisableUser(BlackList blackList);

    /**
     * 通过被举报用户id审核正常用户
     * @param blackList
     * @return
     */
    int backNormalUser(BlackList blackList);

    /**
     * 根据phone查询用户是否为封禁用户
     * @param phone
     * @return
     */
    int findIsAuditUser(String phone);
}
